/**
 * TManService.java
 * ************************** 
 * @date May 10, 2011
 * @author Michele Tamburini
 * 
 * **************************
 */
package gossipServices.bootstraping.tman;

import gossipServices.GossipService;
import gossipServices.basic.view.PartialView;

/**
 * Description: 
 * The TMan is a Service and can be handled by a 
 * ServiceHandler. It provides the method 
 * getOverlayNeighbors() that return the PartialView
 * of the neighbors of the node.
 *
 */
public interface TManService extends GossipService {

	/**
	 * Returns the neighbors of the node collected in a
	 * PartialView and ordered according to a ranking method
	 * defined by the interface: TManRankingMethod.
	 * @return neighbors : PartialView
	 */
	public PartialView getOverlayNeighbors();
	
	/**
	 * Returns the 
	 * @return
	 */
	public String getSubcloudID();
	
	public boolean startTMan();
	
	public boolean stopTMan();
	
	public boolean restartTMan(PartialView newView);
}
